package cn.wlj.origin.simple;

import cn.wlj.origin.ConnectUtil;
import cn.wlj.origin.Constant;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;


/**
 * @ClassName Sender
 * @Description TODO 简单模式的消息发送者
 * @Author WLJ
 * @Date 2024/1/9 20:28
 * @Version 1.0
 */
public class Sender {

    public static void main(String[] args) throws Exception {
        // 获取连接
        Connection connection = ConnectUtil.getConnection();
        // 获取信道
        Channel channel = connection.createChannel();
        // 队列名称
        String queueName = Constant.Simple.QUEUE_NAME;
        // 声明队列
        /**
         * queueName队列名
         * durable   是否持久化
         * exclusive是否独占，独占状态下其他链接无法使用
         * autoDelete  自动删除，在处理结束后自动删除消息
         * arguments，其他参数，map类型
         */
        channel.queueDeclare(queueName, false, false, true, null);
        String message = "simple queue";
        // 发送消息
        /**
         * exchange交换器，空字符串表示不使用交换器
         * routingKey消息的路由键
         * props 属性
         * body  消息主体
         */
        channel.basicPublish("", queueName, null, message.getBytes());
        System.out.println("简单模式消息发送成功！");
        // 关闭连接
        connection.close();
    }
}
